﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using BibliotecasDeBase.AccesoADatos;
using System.Collections;
using System.Data;

/// <summary>
/// Descripción breve de ComentarioServices
/// </summary>
public class TipoUsuarioServices
{

      Ado ado;

	public TipoUsuarioServices()
	{
        ado = new Ado();
	}

    ~TipoUsuarioServices()
    {
        ado = null;
    }


    public DataSet ObtenerTiposDeUsuarios()
    {
        ado.EjecutarStoredProcedureDataReader("TipoUsuario_ObtenerTipoUsuario", null);

        //return ado.DevolverDatosRapido();
        return ado.DevolverDatos();
    }


    //public List<TipoUsuario> ObtenerTiposDeUsuarios()
    //{
    //    ado.EjecutarStoredProcedureDataReader("TipoUsuario_ObtenerTipoUsuario", null);

    //    List<TipoUsuario> tipos = new List<TipoUsuario>();


    //    string registro = ado.DevolverRegistro();

    //    while (registro != String.Empty)
    //    {
    //        TipoUsuario tipo = new TipoUsuario();

    //        tipo.Id = Int32.Parse(registro.Split("|".ToCharArray()).GetValue(0).ToString());
    //        tipo.Descripcion = registro.Split("|".ToCharArray()).GetValue(1).ToString();

    //        tipos.Add(tipo);

    //        tipo = null;

    //        registro = ado.DevolverRegistro();
    //    }


    //    return tipos;

    //}


    public TipoUsuario buscarTipoUsuarioPorDescripcion(string descripcionTipoUsuario)
    {
        ArrayList parametros = new ArrayList();
        parametros.Add(descripcionTipoUsuario);
        ado.EjecutarStoredProcedure(false, "TipoUsuario_BuscarPorDescripcion", parametros);
        DataTable table = ado.DevolverDatos().Tables[0];
        return crearTipoUsuarioDesdeRow(table.Rows[0]);
    }

    private TipoUsuario crearTipoUsuarioDesdeRow(DataRow dataRow)
    {
        return new TipoUsuario(Convert.ToInt32(dataRow["id_tipo_usuario"]), dataRow["desc_tipo_usuario"].ToString());

    }

    internal TipoUsuario buscarTipoUsuarioPorDescripcion(int p)
    {
        ArrayList parametros = new ArrayList();
        parametros.Add(p);
        ado.EjecutarStoredProcedure(false, "TipoUsuario_Buscar", parametros);
        DataTable table = ado.DevolverDatos().Tables[0];
        return crearTipoUsuarioDesdeRow(table.Rows[0]);
    }
}